package main

import (
	"jlpay-sdk-go/pkg/jlpay/demo"
	"jlpay-sdk-go/pkg/jlpay/models/marketing"
	marketingService "jlpay-sdk-go/pkg/jlpay/services/marketing"
	"jlpay-sdk-go/pkg/jlpay/utils"
)

// 商户活动修改示例
func merchantActivityUpdateDemo(merchantActivityUpdateService *marketingService.MerchantActivityUpdateService) {
	// 创建商户活动修改请求
	request := marketing.NewMerchantActivityUpdateRequest()

	// 设置请求参数
	request.SetMerchNo("84940535193A026")
	request.SetActID("act610000064")
	request.SetStatus("join")

	// 发送请求
	response, err := merchantActivityUpdateService.Execute(request)
	if err != nil {
		utils.Errorf("商户活动修改请求失败: %v", err)
		return
	}

	// 处理响应 - 与Python版本保持一致
	if response.IsSuccess() {
		utils.Info("商户活动修改成功！")
		// 打印完整的响应报文
		originData := response.GetOriginData()
		if originData != nil {
			utils.Info("响应报文：%v", originData)
		}
	} else {
		utils.Errorf("商户活动修改失败: %s - %s", response.GetRetCode(), response.GetRetMsg())
	}
}

func main() {
	// 设置日志级别为info，显示详细的调试信息
	utils.SetLogLevel("info")

	utils.Info("=============================")
	utils.Info("===== 商户活动修改示例 开始 =====")
	utils.Info("=============================")

	// 创建配置对象和商户活动修改服务
	config := demo.CreateDemoConfig()
	merchantActivityUpdateService := marketingService.NewMerchantActivityUpdateService(config)

	merchantActivityUpdateDemo(merchantActivityUpdateService)

	utils.Info("=============================")
	utils.Info("===== 商户活动修改示例执行完毕 =====")
	utils.Info("=============================")
}
